'''
Plugin base class.

It will be inherited by every plugin.

Based on Emesene plugin management
'''
class PluginBase(object):
    _name = 'Unnamed Plugin'
    _description = "No description"
    _icon = ''
    _toThread = False
    _toShow = False

    _authors = []
    _active = False

    def __init__(self):
        """Set the Plugin configuration"""
        
    def configure(self, db=None, notif=None, dirPlugins=None):
        """To share with the plugin access to the DB and Notification"""
        pass

    def show(self):
        """Show the Plugin Window"""
        raise NotImplementedError()

    def threadMe(self):
        """Link this method to Notificator Cycle"""
        raise NotImplementedError()
